home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / LDB171.ARJ / EXAMP303.CPP < prev    next >
Text File  |  1992-05-12  |  1KB  |  56 lines

  1.      // examp303.cpp - link with binder.obj
  2.  
  3.      #define fsbfile  "examp303.txt"
  4.  
  5.      #include <iostream.h>
  6.      #include <iomanip.h>
  7.  
  8.      struct FS {
  9.           float f;
  10.           FS(float f = 0.0)  { this->f = f; }
  11.           FS(FS& fs)  { f = fs.f; }
  12.           FS& operator=(FS& fs)  { f = fs.f; return fs; }
  13.           ~FS()  {}
  14.      };
  15.  
  16.      inline ostream& operator<<(ostream& os, FS& fs)
  17.       { return os << fs.f; }
  18.      inline istream& operator>>(istream& is, FS& fs)
  19.       { return is >> fs.f; }
  20.  
  21.      #include "tbinder.hpp"
  22.      TBINDER(FS,FSbdr,FSbdR);
  23.  
  24.      int fcmp(const FS *F1, const FS * F2)
  25.       { return (F2->f - F1->f); }
  26.  
  27.      main()    // count to five
  28.      {
  29.       FSbdR FSB = new FSbdr (BDR_DNEW | BDR_DDELETE
  30.         | BDR_DSTORE,5);
  31.  
  32.       if (!FSB)  return 1;
  33.  
  34.       FS fs = 1.0;
  35.  
  36.       while (FSB->insNew(&fs))  fs.f++;
  37.  
  38.       FSB->setComP ((BDRcomP) fcmp);
  39.       Binder::RegisterComP ((BDRcomP) fcmp);
  40.  
  41.       FSB->save(fsbfile);
  42.  
  43.       delete FSB;
  44.  
  45.       FSbdr fsb(fsbfile);
  46.  
  47.       fsb.sort();
  48.  
  49.       fsb.setFlags(BDR_DASSIGN);
  50.  
  51.       while (fsb.prevAsg(&fs))
  52.            cout << fs.f << endl;
  53.  
  54.       return 0;
  55.      }
  56.